home *** CD-ROM | disk | FTP | other *** search
/ Aminet 15 / Aminet 15 - Nov 1996.iso / Aminet / text / hyper / hsc_source.lha / source / hsc / global.h < prev    next >
C/C++ Source or Header  |  1996-09-09  |  2KB  |  111 lines

  1. /*
  2.  * hsc/global.h
  3.  *
  4.  * global variables and functions for hsc
  5.  *
  6.  */
  7.  
  8. #ifndef HSC_GLOBAL_H
  9. #define HSC_GLOBAL_H
  10.  
  11. #include <stdio.h>
  12. #include <stdlib.h>
  13. #include <string.h>
  14.  
  15. #include "hsclib/hsclib.h"
  16.  
  17. #include "ugly/utypes.h"
  18. #include "ugly/dllist.h"
  19. #include "ugly/infile.h"
  20. #include "ugly/expstr.h"
  21. #include "ugly/umemory.h"
  22. #include "ugly/ustring.h"
  23.  
  24. #include "hsc/hdebug.h"
  25.  
  26. /*
  27.  * defines
  28.  */
  29. #define DHSC "*hscpre* "
  30.  
  31. /*
  32.  * mode strings for syntax check
  33.  */
  34. #define MODE_PEDANTIC_STR "pedantic"
  35. #define MODE_NORMAL_STR   "normal"
  36. #define MODE_RELAXED_STR  "relaxed"
  37.  
  38. #define MODE_ENUMSTR  MODE_PEDANTIC_STR "|" \
  39.                       MODE_NORMAL_STR "|" \
  40.                       MODE_RELAXED_STR
  41.  
  42. #define MODE_PEDANTIC 1
  43. #define MODE_NORMAL   2
  44. #define MODE_RELAXED  3
  45.  
  46. #define DEFAULT_MODE_STR MODE_NORMAL_STR
  47.  
  48. /*
  49.  * modes for attribute quotes
  50.  */
  51. #define QMODE_KEEP   1          /* keep quotes from input */
  52. #define QMODE_DOUBLE 2          /* always use double quotes (compatible) */
  53. #define QMODE_SINGLE 3          /* always use single quotes */
  54. #define QMODE_NONE   4          /* never use any quotes (compact) */
  55.  
  56. #define QMODE_ENUMSTR "keep|double|single|none"
  57.  
  58. /*
  59.  * modes for special characters/entity extraction
  60.  */
  61. #define EMODE_KEEP     1        /* do not replace */
  62. #define EMODE_REPLACE  2        /* replace by prefered value */
  63.                    /* (depends wheter if a PREFNUM was used within $DEFENT) */
  64. #define EMODE_NUMERIC  3        /* always replace by numeric ({) */
  65. #define EMODE_SYMBOLIC 4        /* always replace by symbolic (ü) */
  66.  
  67. #define EMODE_ENUMSTR "keep|replace|numeric|symbolic"
  68.  
  69. /*
  70.  * special values for ignore
  71.  */
  72. #define IGNORE_ALL_STR         "all"
  73. #define IGNORE_BADSTYLE_STR    "badStyle"
  74. #define IGNORE_PORTABILITY_STR "portability"
  75. #define IGNORE_JERKS_STR       "jerks"
  76. #define IGNORE_NOTES_STR       "notes"
  77.  
  78. /* pseudo-name for stdout */
  79. #define STDOUT_NAME "<stdout>"
  80.  
  81. /*
  82.  *
  83.  * extern references
  84.  *
  85.  */
  86. #ifndef NOEXTERN_HSC_GLOBAL_H
  87.  
  88. extern EXPSTR *inpfilename;
  89. extern EXPSTR *outfilename;
  90. extern BOOL   msg_ansi;
  91. extern STRPTR msgfilename;
  92. extern STRPTR prjfilename;
  93. extern STRPTR prefsfilename;
  94.  
  95. extern ULONG max_error;
  96. extern DLLIST *define_list;
  97. extern DLLIST *incfile;
  98. extern STRPTR msg_format;
  99. extern EXPSTR *msgbuf;
  100. extern int return_code;
  101.  
  102. extern BOOL init_global(VOID);
  103. extern VOID cleanup_global(VOID);
  104.  
  105. extern STRPTR get_outfilename(VOID);
  106.  
  107. #endif /* NOEXTERN_HSC_GLOBAL_H */
  108.  
  109. #endif /* HSC_GLOBAL_H */
  110.  
  111.